package com.bwie.vo;

/**
 * TODO
 *
 * @Description
 * @Author 36167
 * @Date 2025/3/19 16:18
 **/

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bwie.domain.Groupbuyingactivity;
import lombok.AllArgsConstructor;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;


@Data
@AllArgsConstructor
public class GroupVo  implements Serializable {

    @TableId(type = IdType.AUTO)
    private Integer id;

    @TableField(exist = false)
    private Integer uid;

    public Integer getUid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }



    /**
     * 活动编号
     */
    private String gnum;

    /**
     * 活动标题
     */
    private String title;

    /**
     * 活动状态(0 待开始 1 进行中 2 已下架 3 已结束)
     */
    private Integer flag;

    /**
     * 开始时间
     */
    private Date strtime;

    /**
     * 结束时间
     */
    private Date endtime;

    /**
     * 预警通知
     */
    private String notification;

    /**
     * 上线/下架
     */
    private Integer status;

    /**
     * 开团倒计时
     */
    private Integer strgrouptime;

    /**
     * 未成团(0 正常发货,1 退款)
     */
    private Integer noclustering;

    /**
     * 活动id
     */
    public Integer getId() {
        return id;
    }

    /**
     * 活动id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 活动编号
     */
    public String getGnum() {
        return gnum;
    }

    /**
     * 活动编号
     */
    public void setGnum(String gnum) {
        this.gnum = gnum;
    }

    /**
     * 活动标题
     */
    public String getTitle() {
        return title;
    }

    /**
     * 活动标题
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * 活动状态(0 待开始 1 进行中 2 已下架 3 已结束)
     */
    public Integer getFlag() {
        return flag;
    }

    /**
     * 活动状态(0 待开始 1 进行中 2 已下架 3 已结束)
     */
    public void setFlag(Integer flag) {
        this.flag = flag;
    }

    /**
     * 开始时间
     */
    public Date getStrtime() {
        return strtime;
    }

    /**
     * 开始时间
     */
    public void setStrtime(Date strtime) {
        this.strtime = strtime;
    }

    /**
     * 结束时间
     */
    public Date getEndtime() {
        return endtime;
    }

    /**
     * 结束时间
     */
    public void setEndtime(Date endtime) {
        this.endtime = endtime;
    }

    /**
     * 预警通知
     */
    public String getNotification() {
        return notification;
    }

    /**
     * 预警通知
     */
    public void setNotification(String notification) {
        this.notification = notification;
    }

    /**
     * 上线/下架
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 上线/下架
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 开团倒计时
     */
    public Integer getStrgrouptime() {
        return strgrouptime;
    }

    /**
     * 开团倒计时
     */
    public void setStrgrouptime(Integer strgrouptime) {
        this.strgrouptime = strgrouptime;
    }

    /**
     * 未成团(0 正常发货,1 退款)
     */
    public Integer getNoclustering() {
        return noclustering;
    }

    /**
     * 未成团(0 正常发货,1 退款)
     */
    public void setNoclustering(Integer noclustering) {
        this.noclustering = noclustering;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Groupbuyingactivity other = (Groupbuyingactivity) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
                && (this.getGnum() == null ? other.getGnum() == null : this.getGnum().equals(other.getGnum()))
                && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
                && (this.getFlag() == null ? other.getFlag() == null : this.getFlag().equals(other.getFlag()))
                && (this.getStrtime() == null ? other.getStrtime() == null : this.getStrtime().equals(other.getStrtime()))
                && (this.getEndtime() == null ? other.getEndtime() == null : this.getEndtime().equals(other.getEndtime()))
                && (this.getNotification() == null ? other.getNotification() == null : this.getNotification().equals(other.getNotification()))
                && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
                && (this.getStrgrouptime() == null ? other.getStrgrouptime() == null : this.getStrgrouptime().equals(other.getStrgrouptime()))
                && (this.getNoclustering() == null ? other.getNoclustering() == null : this.getNoclustering().equals(other.getNoclustering()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getGnum() == null) ? 0 : getGnum().hashCode());
        result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
        result = prime * result + ((getFlag() == null) ? 0 : getFlag().hashCode());
        result = prime * result + ((getStrtime() == null) ? 0 : getStrtime().hashCode());
        result = prime * result + ((getEndtime() == null) ? 0 : getEndtime().hashCode());
        result = prime * result + ((getNotification() == null) ? 0 : getNotification().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getStrgrouptime() == null) ? 0 : getStrgrouptime().hashCode());
        result = prime * result + ((getNoclustering() == null) ? 0 : getNoclustering().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", gnum=").append(gnum);
        sb.append(", title=").append(title);
        sb.append(", flag=").append(flag);
        sb.append(", strtime=").append(strtime);
        sb.append(", endtime=").append(endtime);
        sb.append(", notification=").append(notification);
        sb.append(", status=").append(status);
        sb.append(", strgrouptime=").append(strgrouptime);
        sb.append(", noclustering=").append(noclustering);
        sb.append("]");
        return sb.toString();
    }
}
